/*
 * @Author: AuroCaffe 18509564594@163.com
 * @Date: 2025-05-15 14:02:22
 * @LastEditors: AuroCaffe 18509564594@163.com
 * @LastEditTime: 2025-09-04 10:49:46
 * @FilePath: \HuiLin\main.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import Vue from 'vue'
import App from './App'
import Mixin from '@/minixs/index.js';
import store from "./store";
import config from '@/config/config';
import router from './utils/router'
//全局混入分享功能
Vue.mixin(Mixin)
import wxPay from '@/utils/pay'

Vue.use(wxPay) // 注册全局支付方法
// 1. 创建事件总线实例
const EventBus = new Vue()

// 2. 挂载到 Vue 原型（可选）
Vue.prototype.$bus = EventBus
Vue.config.productionTip = false
// 挂载到 Vue 原型链
Vue.prototype.$config = config
// 封装路由拦截器
Vue.prototype.$router = router

// 智能返回拦截器 - 拦截所有uni.navigateBack调用
const originalNavigateBack = uni.navigateBack;
uni.navigateBack = function(options = {}) {
	const pages = getCurrentPages();
	const delta = options.delta || 1;
	
	console.log(`[SmartNavigateBack] 拦截返回调用 - 当前页面栈深度: ${pages.length}, 返回页数: ${delta}`);
	
	if (pages.length <= 1) {
		// 没有历史页面或只有当前页面，跳转到首页
		console.log('[SmartNavigateBack] 页面栈为空，跳转到首页');
		uni.redirectTo({
			url: '/pages/tabBar/home'
		});
	} else if (pages.length <= delta) {
		// 返回页数超过或等于页面栈深度，跳转到首页
		console.log('[SmartNavigateBack] 返回页数超过页面栈深度，跳转到首页');
		uni.redirectTo({
			url: '/pages/tabBar/home'
		});
	} else {
		// 正常返回
		console.log('[SmartNavigateBack] 执行正常返回');
		originalNavigateBack.call(this, options);
	}
};
// 引入Vuex
Vue.prototype.$store = store;
App.mpType = 'app'

const app = new Vue({
	...App,
	store
})
app.$mount()